Managing vehicle brake system

ABSTRACT

Managing a brake system of a vehicle includes collecting sensor data from one or more sensors in or around the vehicle, calculating brake effectiveness values based on the sensor data, calibrating the brake effectiveness values based on environmental context data associated with the vehicle, accumulating the calibrated brake effectiveness values as a dataset, generating a prediction curve or formula based the dataset, and scheduling a maintenance alarm for the brake system based on the brake effectiveness values.

FIELD

The present disclosure relates to managing a vehicle brake system, andmore particularly, to assessing vehicle brake effectiveness by sensingdata associated with the brake system and providing a maintenance alarmto a driver of the vehicle based on the assessed result.

BACKGROUND

A brake system plays a critical role in vehicle safety. Thus, one shouldbe aware of the current conditions of their vehicle brake system.

SUMMARY

One aspect of the present invention provides a system for managing abrake system of a vehicle. The system includes one or more processors, amemory storing processor-executable program instructions, and one ormore sensors coupled to the one or more processors and the memory. Theone or more sensors configured to collect data associated with thevehicle. The one or more processors, when executing the programinstructions, are configured to collect sensor data from the one or moresensors calculate brake effectiveness values based on the sensor data,and schedule a maintenance alarm based on the calculated brakeeffectiveness values.

Other aspects of the present invention include a computer-implementedmethod for managing a brake system of a vehicle. The method includescollecting sensor data from one or more sensors in or around thevehicle, calculating brake effectiveness values based on the sensordata, and scheduling a maintenance alarm for the brake system based onthe calculated brake effectiveness values.

Other aspects of the present invention include a computer programproduct comprising a computer readable storage medium having computerreadable program instructions embodied therewith. The computer readableprogram instructions executable by at least one processor to cause acomputer to perform a method for managing a brake system of a vehicle.The method includes collecting sensor data from one or more sensors inor around the vehicle, calculating brake effectiveness values based onthe sensor data, and scheduling a maintenance alarm for the brake systembased on the calculated brake effectiveness values.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a block diagram of a brake maintenance system according to anexemplary embodiment of the present invention;

FIG. 1B is an example illustration of a brake pedal path value accordingto an exemplary embodiment of the present invention;

FIGS. 1C and 1D are example diagrams illustrating a relative reliefvalue according to an exemplary embodiment of the present invention;

FIG. 2 is an example of brake effectiveness values calculated by a brakeeffectiveness assessor according to an exemplary embodiment of thepresent invention;

FIG. 3 depicts examples of obtaining calibration factors according to anexemplary embodiment of the present invention;

FIG. 4A depicts an example of brake effectiveness calibrations accordingto an exemplary embodiment of the present invention;

FIG. 4B depicts an example of historical data with a correspondingprediction curve according to an exemplary embodiment of the presentinvention;

FIG. 5A depicts an example method according to an exemplary embodimentof the present invention;

FIG. 5B depicts an example method of calibrating brake effectivenessvalues according to an exemplary embodiment of the present invention;and

FIG. 6 depicts an example system according to an embodiment of thepresent invention.

DETAILED DESCRIPTION

Embodiments of the present invention will now be described in detailwith reference to the drawings. However, the following embodiments donot restrict the invention claimed in the claims. Moreover, allcombinations of features described in the embodiments are notnecessarily mandatory for the architecture of the present invention.Like numbers are assigned to like elements throughout the description ofthe embodiments of the present invention.

According to exemplary embodiments of the present invention, a method,system, and computer product for managing a brake system of a vehicleare provided. A system for managing a brake system of a vehicleaccording to the present invention is also referred to herein as a“brake maintenance system”. The term “vehicle” may be understood toinclude any moving object with one or more brake systems, such as a car,a truck, an airplane, an auto-bike, or the like.

FIG. 1A is a block diagram of a brake maintenance system 1 according toan exemplary embodiment of the present invention.

As depicted, a brake maintenance system 1 is communicatively coupled toa vehicle 70, which includes one or more sensors 700_1 . . . 700_k(where “k” is an integer equal to or greater than 1). In this example,the brake maintenance system 1 is located on-board vehicle 70. The oneor more sensors 700_1 to 700_k can be located in and/or around vehicle70. In some embodiments, environmental context data 120 may be obtainedfrom external sources (not shown). The sensors 700_1 . . . 700_k collectvehicle brake system data 110 and environment context data 120 e.g.,associated with environmental conditions around vehicle 70.

In some embodiments, the environmental conditions around the vehicle 70include road conditions such as dusty, stop-and-go traffic, etc.

The brake maintenance system 1 further includes a data collector 10, abrake effectiveness assessor 20, a data calibrator 30, a dataaccumulator 40, a maintenance predictor 50, and a maintenance alarmgenerator 60.

The data collector 10 collects the data provided by the sensors 700_1 to700_k. The data collector 10 provides the collected brake system data110 to the brake effectiveness assessor 20 and the environmental contextdata 120 to the data calibrator 30. Further to the above, in someembodiments, the environmental context data 120 may (alternatively or inaddition) be obtained by the data collector 10 from one or more externalsources (not shown).

The brake effectiveness assessor 20 calculates brake effectivenessvalues based on the brake system data 110 and provides the brakeeffectiveness values to the data calibrator 30. The data calibrator 30calibrates the brake effectiveness values based on environmental contextdata 120. The data accumulator 40 accumulates the calibrated brakeeffectiveness values and provides them to the maintenance predictor 50.The maintenance predictor 50 generates a prediction curve or formulabased on the accumulated brake effectiveness values. The maintenancepredictor 50 may then determine: an appropriate time for maintenance ofthe vehicle brake system; or need for the maintenance of the vehiclebrake system, based on the prediction curve or formula. The maintenancealarm generator 60 may provide a maintenance alarm 610 to the vehicle70.

In some embodiments, the one or more sensors 700_1 to 700_k may includeinternet of things (IoTs) sensors to enable remote monitoring of thevehicle brake system with no or reduced human intervention (inreal-time), and autonomous transmission of the sensor data to othersystems interconnected thereto, such as the brake maintenance system 1.

In some embodiments, part or all of the brake maintenance system 1 maybe interconnected remotely with the sensors 700_1 to 700_k through oneor more network infrastructures, but in other embodiments, part or allof the brake maintenance system 1 may be locally implemented in/aroundthe vehicle 70. The network infrastructure(s) can include, but are notlimited to: wired communication systems based on Internet, local areanetwork(s) (LAN), wide-area network(s) (WAN), or the like, or wirelesscommunications systems based on code division multiple access (CDMA),global system for mobile communication (GSM), wideband CDMA, CDMA-2000,time division multiple access (TDMA), long term evolution (LTE),wireless LAN, Bluetooth, or the like. Thus, in this example, at leastone of the data collector 10 may further include a network interface(not shown) (e.g., wireless transmitter or receiver) that supports theabove-mentioned communications, so the data collector 10 could receivethe sensor data from the sensors 700_1 to 700_k or control signalsthereto, if necessary, using the network interface; further, themaintenance alarm generator 60 may include a network interface (notshown) and transmit a signal with the maintenance alarm 610 using thenetwork interface.

In some embodiments, the sensor data may include brake-related sensordata 110 such as a speed variation value of the vehicle 70, a timeduration for when the speed variation occurs, a brake pedal path value,a relative relief value, a weight of the vehicle 70, etc., and/orenvironmental context-related sensor data 120 such as an airtemperature, etc.

FIG. 1B is an example illustration of a brake pedal path value 720according to an exemplary embodiment of the present invention. FIGS. 1Cand 1D are example diagrams illustrating a relative relief value 730 aor 730 b according to an exemplary embodiment of the present invention.

Referring to FIG. 1B, the brake pedal path value 720 refers to amovement distance (e.g., 50 millimeters) in, e.g., a horizontaldirection of a brake pedal 710 while the braking is driven. Also, therelative relief value (or relative altitude value) refers to a verticaldifference (or altitude difference) from a starting location where thebraking begins and an ending location where the braking ends, as shownin FIGS. 1C and 1D. Referring to the example of FIG. 1B, if the endinglocation of the vehicle 70 is at a higher position than the startinglocation, the relative relief value would be positive. On the otherhand, if the ending location of the vehicle 70 is at a lower positionthan the starting location, the relative relief value would be negative,as shown in FIG. 1C.

The sensors 700_1 to 700_k may include, but are not limited to: a speedsensor for sensing the speed variance of the vehicle 70, a timer forsensing the time duration for when the speed variation occurs, a weightsensor for sensing a weight of the vehicle 70, a thermometer, and ahumidity sensor, a speed acceleration sensor etc. The sensors 700_1 to700_k may further include a brake pedal position sensor and a forcepressure sensor for sensing the brake pedal path value and a locationsensor (e.g., GPS receiver) and a gyroscope sensor for sensing therelative relief value.

Next, the data collector 10 may provide the collected brake-relatedsensor data 110 to the brake effectiveness assessor 20. The brakeeffectiveness assessor 20 may assess a brake effectiveness bycalculating brake effectiveness values based on the brake-related sensordata 110. Each brake effectiveness value E_(b) can be calculated usingEquation (1), as follows:

$\begin{matrix}{E_{b} = {\Delta\;{S \cdot \frac{1}{\Delta\; T} \cdot \frac{{BPP}_{\max}}{\Delta\;{BPP}} \cdot e^{{- \Delta}\;{RR}} \cdot \frac{W}{W_{empty}}}}} & {{Equation}\mspace{14mu}(1)}\end{matrix}$

Here, “·” denotes a multiplication operation, ΔS is a speed variance ofthe vehicle 70, ΔT is a time duration for when the speed varianceoccurs, ΔBPP is a brake pedal path value, and ΔRR is a relative reliefvalue, and W is a weight of the vehicle 70. In addition, BPP_(max) is amaximum obtainable brake pedal path value of the vehicle 70 andW_(empty) is a weight when the vehicle 70 is empty. In some aspects,ΔS/ΔT can be sensed using a speed acceleration sensor.

Referring to the example of FIG. 2, the brake effectiveness values maybe calculated along with time. As depicted, the brake effectivenessvalues may be decreased over time because parts of the brake system maybecome worn out. If the brake effectiveness value becomes lower than apredetermined threshold value TH, the brake maintenance system 1 mayprovide an alarm to the vehicle 70, allowing a driver to make real-timemonitoring on a status of the brake system and identify a certain timeby which the brake system should be maintained or checked-up.

However, the brake effectiveness values may vary depending onenvironmental conditions surrounding the vehicle 70, such as roadsurface materials, air temperatures, weather, etc. Thus, the brakemaintenance system 1 may further collect environmental context data 120.The environmental context data 120 may include, but are not limited to:material data of a road surface on which the vehicle 70 travels(referred to as a “road surface material data”), air temperature data,and weather data.

Table 1 shows examples of environmental context data according to anexemplary embodiment of the present invention. Referring to the exampleshown in Table 1 the road surface material data may include, but are notlimited: asphalt, cement, gravel, etc., and the air temperature data mayinclude, but are not limited: mile, cold, hot, etc., and the weatherdata may include, but are not limited: dry, rain, snow, drizzle, sleet,etc. In some embodiments, the environmental context data 120 may beprovided and updated by external sources (not shown) based on a location(e.g., global positioning system (GPS) coordinates) of the vehicle 70.In other embodiments, the air temperature data may be sensed by at leastone of the sensors 700_1 to 700_k of FIG. 1A.

TABLE 1 Road surface material data Air temperature data Weather dataasphalt mild dry cement cold rain gravel hot snow . . drizzle . . sleet. . . . .

Referring back to FIG. 1A, the data calibrator 30 may performcalibrations on the brake effectiveness values provided by the brakeeffectiveness assessor 20 based on the environmental context data 120where the vehicle 70 travels. In some aspects, the data calibrator 30may classify each of the brake effectiveness values into a correspondingone of a plurality of data groups given according to the environmentalcontext data 120.

Table 2 shows examples of environmental context data, classificationgroups, and calibration factors, according to an exemplary embodiment ofthe present invention. Referring to an example depicted in Table 2, ifthe environmental context data 120 associated with the vehicle 70 are“asphalt/mild/dry”, the data calibrator 30 may classify a correspondingbrake effectiveness value into a data group G₁; similarly, if theenvironmental context data 120 are “gravel/cold/snow”, the datacalibrator 30 may classify the brake effectiveness value into a datagroup G_(N). Here, N is an integer equal to or greater than one. For thesake of simplicity, duplicate descriptions for the rest combinations ofthe environmental context data 120 will be omitted. Given the fact thatthe brake effectiveness values vary depending on the environmentalcontext data 120, there may occur differences among the brakeeffectiveness values classified into the data groups. Such differencesin the brake effectiveness values among the data groups G₁ to G_(N) maybe compensated for by adding a calibration value, which corresponds tothe difference, to the before-compensation brake effectiveness value.

TABLE 2 Environmental Context Data Classification Groups CalibrationFactors asphalt/mild/dry G₁ CF₁(=0) asphalt/mild/rain G₂ CF₂asphalt/cold/snow G₃ CF₃ asphalt/cold/dry G₄ CF₄ asphalt/cold/rain G₅CF₅ asphalt/cold/snow G₆ CF₆ . . . . . . . . . gravel/mild/dry G_(N−2)CF_(N−2) gravel/mild/rain G_(N−1) CF_(N−1) gravel/cold/snow G_(N) CF_(N)

In some embodiments, one of the data groups G₁ to G_(N) may be selectedas a reference group into which the brake effectiveness values of otherdata groups are calibrated. In one example, the data group G₁ of“asphalt/mild/dry” where the vehicle 70 may travel the most frequentlycan be selected as the reference group. Thus, if a brake effectivenessvalue is provided under environmental context: “asphalt/mild/dry”, thisbrake effectiveness value may be classified into the reference datagroup G₁ and no calibration may be needed. In this case, a correspondingcalibration value would be zero. However, if the environmental contextis changed to other, calibration may become needed and a correspondingcalibration value in this case would not be zero. Thus, in someenvironment context data, the calibration value is a positive ornegative value, but in other environmental context data, it is zero.

FIG. 4A depicts an example diagram of brake effectiveness calibrationsaccording to an exemplary embodiment of the present invention. Referringto Table 2 and FIG. 4A, it is exemplarily assumed that the vehicle 70travels at first under the environmental context: “asphalt/mild/dry”,then travels under the environmental context: “asphalt/mild/rain”, nexttravels again under the environmental context: “asphalt/mild/dry”, andtravels under the environmental context: “asphalt/cold/dry”. Thus, asdepicted in FIG. 4A, the data effectiveness assessor 20 may calculateand provide brake effectiveness values 401 corresponding to theenvironmental context: “asphalt/mild/dry”, which are classified into thereference data group G₁ (Table 2); a brake effectiveness value 402corresponding to the environmental context: “asphalt/mild/rain” which isclassified into the reference data group G₂ (Table 2); and a brakeeffectiveness value 404 corresponding to the environmental context:“asphalt/cold/dry” which is classified into the data group G₄ (Table 2).

In the example with respect to the brake effectiveness value 402, sincea vehicle brake system may have a lower performance in a rainy weathercondition than a dry weather condition, the brake effectiveness value402 under the environmental context: “asphalt/mild/rain” may be lower,by ΔE_(b1), than it would be under the environmental context:“asphalt/mild/dry”. Therefore, this difference ΔE_(b1) should becompensated for by adding a calibration value of ΔE_(b1) to the brakeeffectiveness value 402, thus resulting in a calibrated brakeeffectiveness value 403 a, as shown in FIG. 4A.

In the other example with respect to the brake effectiveness value 404,since it is known that the brake system performance gets better as anair temperature drops, the brake effectiveness value 404 under theenvironmental context: “asphalt/cold/dry” may show up with a highervalue, by −ΔE_(b2), than it would be under the environmental context:“asphalt/mild/dry”. Therefore, this difference −ΔE_(b2) should becompensated for by adding a calibration value of −ΔE_(b2) to the brakeeffectiveness value 404, thus resulting in a calibrated brake effectivevalue 403 b, as shown in FIG. 4A.

In some embodiments, the calibration values may be calculated usingEquation (2), as follows:E _(bout)=(1+CF)·E _(bin)  Equation (2)

Here, E_(bin) is a brake effectiveness value input to the datacalibrator 30, E_(bout) is a brake effectiveness value output from thedata calibrator 30, and CF is a calibration factor applied to acorresponding data group.

When a brake effectiveness value is classified into one of the datagroups G₁ to G_(N), the data calibrator 30 may apply a correspondingcalibration factor CF associated with a data group into which the brakeeffectiveness value is classified. For example, as shown in Table 2, thecalibration factor CF may be given as zero (e.g., CF₁) for the referencegroup G₁; and the calibration factor CF may be given as CF_(N) for thegroup G_(N) corresponding to the environmental context:“gravel/cold/snow”.

In the example with respect to the brake effectiveness value 402 of FIG.4A, the brake effectiveness value 402 is an input value E_(bin) to thedata calibrator 30 and the calibration value ΔE_(b1) would be given as aproduct (e.g., CF₂·E_(bin)) of a corresponding calibration factor CF₂and the brake effectiveness value 402; in this example, the calibrationfactor CF₂ is a positive value. Further, in the example of the brakeeffectiveness value 404 of FIG. 4A, the calibration value −ΔE_(b2) wouldbe given as a product (e.g., CF₄·E_(bin)) of a corresponding calibrationfactor CF₄ and the brake effectiveness value 404; in this example, thecalibration factor CF₄ is a negative value.

In some embodiments, the calibration factor CF may be predeterminedbased on calibration models or curves which are generated based on,e.g., known information and/or data about relationships between eachenvironmental context and the brake system performance.

FIG. 3 depicts an example of obtaining calibration factors according toan exemplary embodiment of the present invention.

In an example shown in FIG. 3, a reference brake effectiveness curveE_(br) and a brake effectiveness curve E_(b6) are a function of a brakeeffectiveness (y-axis) value and a “v” (x-axis) value 301 The “v”(x-axis) value 301, can represent one of: a speed variation ΔS, a timeduration ΔT, a brake pedal path value ΔBPP, a relative relief ΔRR, and avehicle weight W. In the example of FIG. 3, it is understood that “v”can represent variable values such as speed variation ΔS, time durationΔT, brake pedal path values ΔBPP, relative relief ΔRR values, or one ormore constant values, such as vehicle weight W.

It is noted that the reference brake effectiveness curve E_(br) and thebrake effectiveness curve E_(b6) in the example of FIG. 3 are based onpre-obtained, relationships between environmental context data and brakesystem performance data. The more the speed variation ΔS, the higher thebrake effectiveness value. The brake effectiveness curve E_(b6) may belocated at a lower position than the reference brake effectiveness curveE_(br), taking into account the environment context:“asphalt/cold/snow”, related to the brake effectiveness curve E_(b6). Inthe example depicted in FIG. 3, deviations between the brakeeffectiveness curve E_(b6) and the reference effectiveness curve E_(br)may vary (or increase) according to the speed variation ΔS, so thatcalibration factors used to calibrate the brake effectiveness curveE_(b6) to the reference effectiveness curve E_(br) may vary accordingly.For example, as depicted, calibration factors may be represented as acalibration curve CF₆ which reflects such variations in deviationbetween the brake effectiveness curve E_(b6) and the referenceeffectiveness curve E_(br).

The brake maintenance system 1 (FIG. 1A) may calculate the calibrationcurve CF₆ based on the pre-obtained brake effectiveness curves E_(b6)and E_(br) (as follows) and store the calculated calibration curve CF₆in a memory (not shown):CF ₆ =E _(br) /E _(b6)−1  Equation (3)

Thus, in one example, if brake effectiveness values are provided underthe environmental context: “asphalt/cold/snow” (Table 2), the datacalibrator 30 may perform calibration on the brake effectiveness valuesby using the calibration curve CF₆.

Referring now to FIG. 1A and Table 2, the brake maintenance system 1 maystore brake effectiveness curves associated with the data groups G₁ toG_(N) (Table 2) and calculate calibration curves corresponding to thedata groups G₁ to G_(N). The data calibrator 30 may use a correspondingcalibration curve for particular environmental context data 120. Thedata accumulator 40 may accumulate the calibrated brake effectivenessvalues to generate a prediction curve (or formula) as a function oftime.

The data accumulator 40 may store the calibrated brake effectivenessvalues into a memory (not shown) as a historical dataset. Next, themaintenance predictor 50 may generate a prediction curve (or formula)based on the historical dataset using an algorithm to determine afitting curve (or formula) that matches to the historical dataset.

In some embodiments, the prediction curve could be determined usingcurve fitting techniques well known in the art based on, but are notlimited to: a Least Squares Curve Fit, a Nonlinear Curve Fit, and aSmoothing Curve Fits.

FIG. 4B depicts an example of historical data with a correspondingprediction curve according to an exemplary embodiment of the presentinvention. As depicted, the maintenance predictor 50 may generate aprediction curve 412 corresponding to the historical dataset 411 anddetermine that a brake effectiveness value would reach a referencethreshold value TH at a time T1 based on the prediction curve 412. Forexample, the reference threshold value TH may be determined to be avalue at which certain faults or deficiency of the brake system begin.Thus, as depicted in FIG. 1A, the maintenance alarm generator 60 maygenerate and provide a maintenance alarm 610 to the vehicle 70 at acertain time before the time T1. For example, the maintenance alarm 610may be displayed via a dashboard display (not shown) or a heads-updisplay (not shown) of the vehicle 70. The maintenance alarm 610 mayindicate that servicing/maintenance or check-up for the brake system onthe vehicle 70 is needed. In some embodiments, the maintenance alarm 610may further indicate a condition of the brake system in terms ofseverity of the faults or deficiency (e.g., low/medium/high, etc.)and/or accordingly, suggest a particular time by which the brake systemshould be maintained, serviced, or checked up.

In some embodiments, at least one of the data collector 10, the brakeeffectiveness assessor 20, the data calibrator 30, the data accumulator40, the maintenance predictor 50, and the maintenance alarm generator 60may be implemented using a hardware processor (not shown) or based on afield-programmable gate array (FPGA) design (not shown), but in otherembodiments, they may be implemented based on program codes which arestored in a memory (not shown) or in a hardware processor and executedby the hardware processor.

FIG. 5A depicts an example method according to an exemplary embodimentof the present invention. Referring now to FIGS. 1A and 5A, at stepS110, the data collector 10 may collect the sensor data (e.g.,brake-related sensor data 110 of FIG. 1) using some of the sensors 700_1to 700_k located in/around the vehicle 70. The brake effectivenessassessor 20 may calculate brake effectiveness values based on the sensordata (S120) and the data calibrator 30 may calibrate the brakeeffectiveness values based on the environmental context data 120 (S130).Next, the data accumulator 40 may accumulate the calibrated brakeeffectiveness values (S140) and the maintenance predictor 50 maygenerate a prediction curve or formula based on the accumulated brakeeffectiveness values (S150). The maintenance predictor 50 may thendetermine: an appropriate time for maintenance of the vehicle brakesystem; or need for servicing/maintenance of the vehicle brake systembased on the prediction curve or formula (S160) and the maintenancealarm generator 60 may provide a maintenance alarm 610 to the vehicle 70(S170). The maintenance alarm 610 may indicate thatservicing/maintenance or check-up for the brake system on the vehicle 70is needed. In some embodiments, the maintenance alarm 610 may furtherindicate a condition of the brake system in terms of severity of thefaults or deficiency (e.g., low/medium/high, etc.) and/or accordingly,suggest a particular time by which the brake system should bemaintained, serviced, or checked up.

FIG. 5B depicts an example method of calibrating brake effectivenessvalues according to an exemplary embodiment of the present invention.

Referring to FIGS. 1, 5A, and 5B, the step S130 of FIG. 5A may include:classifying each brake effectiveness value into one of data groups G₁ toG_(N) based on the environmental context data 120 (S131) and adding acorresponding calibration value to each brake effectiveness value(S132).

FIG. 6 depicts an example system 6000 according to an exemplaryembodiment of the present invention.

Referring to the example depicted in FIG. 6, a computing system 6000 maybe used (without limitation) as a platform for performing (orcontrolling) one or more functions and/or operations describedhereinabove with respect to the example brake maintenance system 1 ofFIG. 1A, and/or exemplary methods of FIGS. 5A and 5B.

In addition (without limitation), the computing system 6000 may beimplemented with an UMPC, a net-book, a PDA, a portable computer (PC), aweb tablet, a wireless phone, a mobile phone, a smart phone, an e-book,a PMP, a portable game console, a navigation device, a black box, adigital camera, a DMB player, a digital audio recorder, a digital audioplayer, a digital picture recorder, a digital picture player, a digitalvideo recorder, a digital video player, or the like.

Referring now specifically to FIG. 6, the computing system 6000 mayinclude a processor(s) 6010, I/O device(s) 6020, a memory 6030, adisplay device 6040, bus 6060, and network adaptor 6050.

The processor 6010 is operably coupled to and may communicate withand/or drive the I/O devices 6020, memory 6030, display device 6040, andnetwork adaptor 6050 through the bus 6060.

The computing system 6000 can communicate with one or more externaldevices using network adapter 6050. The network adapter may supportwired communications based on Internet, LAN, WAN, or the like, orwireless communications based on CDMA, GSM, wideband CDMA, CDMA-2000,TDMA, LTE, wireless LAN, Bluetooth, or the like.

The computing system 6000 may also include or access a variety ofcomputing system readable media. Such media may be any available mediathat is accessible (locally or remotely) by a computing system (e.g.,the computing system 6000), and it may include both volatile andnon-volatile media, removable and non-removable media.

The memory 6030 can include computer system readable media in the formof volatile memory, such as random access memory (RAM) and/or cachememory or others. The computing system 6000 may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia.

The memory 6030 may include one or more program modules (not shown) forperforming (or controlling) one or more of the functions and/oroperations described hereinabove with respect to the example shown inFIG. 1A, and/or exemplary methods shown in FIGS. 5A and 5B. For example,the program modules may be embodied as (and/or include) programinstructions (software), routines, programs, objects, components, logic,data structures, or the like, for performing particular tasks orimplementing particular abstract data types. For example, the processor(e.g., 6010) of the computing system 6000 may execute the programmodules (embodied as software) to perform (or control) the functions oroperations described hereinabove with respect to the system 1 of FIG.1A, and/or methods of FIGS. 5A and 5B. The program module may beprogrammed into the integrated circuits of the processor (e.g., 6010).In some embodiments, the program module may be stored in a memory 6030of the system 6000 and/or distributed among (or shared between) one ormore memory units associated with one or more remote computer systemmemories (not shown).

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++ or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the disclosure.As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements, if any, in the claims below areintended to include any structure, material, or act for performing thefunction in combination with other claimed elements as specificallyclaimed. The description of the present disclosure has been presentedfor purposes of illustration and description, but is not intended to beexhaustive or limited to the present disclosure in the form disclosed.Many modifications and variations will be apparent to those of ordinaryskill in the art without departing from the scope and spirit of thepresent disclosure. The embodiment was chosen and described in order tobest explain the principles of the present disclosure and the practicalapplication, and to enable others of ordinary skill in the art tounderstand the present disclosure for various embodiments with variousmodifications as are suited to the particular use contemplated.

While the present disclosure has been particularly shown and describedwith respect to preferred embodiments thereof, it will be understood bythose skilled in the art that the foregoing and other changes in formsand details may be made without departing from the spirit and scope ofthe present disclosure. It is therefore intended that the presentdisclosure not be limited to the exact forms and details described andillustrated, but fall within the scope of the appended claims.

What is claimed is:
 1. A system for managing a brake system of a vehicleadapted to travel on a road surface, said system comprising: one or moreprocessors; a memory, coupled to the one or more processors, the memorystoring processor-executable program instructions; and one or moresensors, coupled to the one or more processors and the memory, the oneor more sensors configured to collect brake-related sensor dataassociated with the vehicle while traveling on said road surface,wherein the one or more processors, when executing the programinstructions, are configured to: collect the brake-related sensor datafrom the one or more sensors; calculate brake effectiveness values basedon the brake-related sensor data; use a calibration model to obtain acalibration factor value, said calibration model generated based on apre-determined relationships between a environmental context data andsaid brake-related sensor data associated with the vehicle, saidenvironmental context data including a combination of: road surfacematerial data and a weather precipitation type data, and apply saidobtained calibration factor value to a brake effectiveness value of saidcalculated brake effectiveness values to calibrate said brakeeffectiveness value; and generate, at said vehicle, a maintenance alarmsignal indicating a maintenance time for the brake system based on thecalibrated brake effectiveness value, wherein to calibrate the brakeeffectiveness value, the one or more processors are further configuredto: classify the brake effectiveness values into one or more datagroups, each group based on a different combination of the environmentalcontext data; and add the calibration value to at least one brakeeffectiveness value, wherein to obtain the calibration value said one ormore processors are further configured to: obtain a respective brakeeffectiveness function representing a pre-determined relationshipbetween a respective environmental context data and brake-related sensordata; obtain a reference brake effectiveness function associated with aselected environmental context data group against which the brakeeffectiveness values of other data groups are calibrated; and generatethe calibration factor value based on a deviation between saidrespective brake effectiveness function and said reference brakeeffectiveness function.
 2. The system of claim 1, wherein the one ormore processors are further configured to: accumulate the calibratedbrake effectiveness values as a dataset; and generate a prediction curveor formula based on the dataset.
 3. The system of claim 2, wherein theone or more processors are configured to: determine that the brakeeffectiveness value in the prediction curve or formula reaches apredetermined threshold value; and generate the maintenance alarm, inresponse to reaching the predetermined threshold value.
 4. The system ofclaim 1, wherein the sensor data comprises: brake-related sensor dataselected from a group including a speed variation of the vehicle, a timeduration for when the speed variation occurs, a brake pedal path, arelative relief, and a weight of the vehicle.
 5. The system of claim 1,wherein the environmental context data includes the road surfacematerial data and the weather data and air temperature data, the roadsurface material data and the weather data being provided by externalsources, and wherein the air temperature data is provided by at leastone of the vehicle sensors.
 6. A computer program product comprising anon-transitory computer-readable storage medium having computer readableprogram instructions embodied therewith, the computer readable programinstructions executable by at least one processor to cause a computer toperform a method, the method comprising: collecting brake-related sensordata from one or more sensors in or around a vehicle; calculating brakeeffectiveness values based on the brake-related sensor data; using acalibration model to obtain a calibration factor value, said calibrationmodel generated based on a pre-determined relationship between anenvironmental context data and said brake-related sensor data associatedwith the vehicle, said environmental context data including acombination of: road surface material data and a weather precipitationtype data, and applying said obtained calibration factor value to abrake effectiveness value of said calculated brake effectiveness valuesto calibrate said brake effectiveness value; and generating, at saidvehicle, a maintenance alarm signal indicating a maintenance time forthe brake system based on the calibrated brake effectiveness value,wherein to calibrate the brake effectiveness value, the computerreadable program instructions executable by at least one processorfurther cause the computer to perform: classifying the brakeeffectiveness values into one or more data groups, each group based on adifferent combination of the environmental context data; and adding thecalibration factor value to at least one brake effectiveness value,wherein to obtain the calibration factor value said computer furtherperforms: obtaining a respective brake effectiveness functionrepresenting a pre-determined relationship between a respectiveenvironmental context data and brake-related sensor data; obtaining areference brake effectiveness function associated with a selectedenvironmental context data group against which the brake effectivenessvalues of other data groups are calibrated; and generating thecalibration factor value based on a deviation between said respectivebrake effectiveness function and said reference brake effectivenessfunction.
 7. The computer program product of claim 6, where the methodfurther comprises: accumulating the calibrated brake effectivenessvalues as a dataset; and generating a prediction curve or formula basedon the dataset.
 8. The computer program product of claim 7, wherein themethod further comprises: determining that the brake effectiveness valuein the prediction curve or formula reaches a predetermined thresholdvalue; and generating the maintenance alarm, in response to reaching thepredetermined threshold value.
 9. The computer program product of claim6, wherein the brake-related sensor data is selected from a groupincluding a speed variation of the vehicle, a time duration for when thespeed variation occurs, a brake pedal path, a relative relief, and aweight of the vehicle.